Skip to content

hotfix(2.1.1): SCIP proto decode fix + EndStreamReason variants#21

Merged
SimplyLiz merged 2 commits intomainfrom
develop
Apr 16, 2026
Merged

hotfix(2.1.1): SCIP proto decode fix + EndStreamReason variants#21
SimplyLiz merged 2 commits intomainfrom
develop

Conversation

@SimplyLiz
Copy link
Copy Markdown
Contributor

Summary

  • fix(scip): Aligned SymbolInformation field numbers with upstream SCIP proto — relationships (2→4), kind (4→5), display_name (5→6). The mismatch caused a protobuf wire-type decode error (LengthDelimited where Varint expected) on any index produced by a spec-compliant SCIP emitter.
  • feat: EndStreamReason::CursorOutOfRange + FileNotIndexed variants (feat: EndStreamReason::CursorOutOfRange + FileNotIndexed #20)

Test plan

  • cargo build -p lip-cli compiles cleanly
  • Full SCIP roundtrip verified: lip indexlip export --to-sciplip import --from-scip succeeds
  • lip import --push-to-daemon streams deltas to a running daemon without error
  • CI passes on all targets

🤖 Generated with Claude Code

SimplyLiz and others added 2 commits April 15, 2026 22:43
* feat: EndStreamReason::CursorOutOfRange + FileNotIndexed

Splits the previously-conflated stream-terminator failure mode.
Both "cursor past EOF" and "URI not in index" emitted
`reason: error, error: "cursor_out_of_range"` — clients couldn't
distinguish "user gave bad coordinates" from "daemon has nothing
for this path."

Now:
- `CursorOutOfRange` — indexed file, cursor past EOF. Error string
  reports line count.
- `FileNotIndexed` — URI unknown to the daemon. Error string names
  the URI so callers know what to upsert.
- `Error` remains as the catch-all. Clients should branch on
  specific reasons first.

Happy-path reasons (BudgetReached, Exhausted) unchanged.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: gitignore .claude/ harness state

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…roto

relationships was field 2 (upstream: 4), kind was field 4 (upstream: 5),
display_name was field 5 (upstream: 6). The mismatch caused a wire-type
decode error (LengthDelimited vs Varint) when importing any index
produced by a spec-compliant SCIP emitter.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@SimplyLiz SimplyLiz merged commit 29e7807 into main Apr 16, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant